package br.senai.sc.util.security;

import javax.inject.Inject;
import javax.inject.Named;

import org.jboss.seam.security.Identity;
import org.jboss.seam.security.annotations.Secures;

/**
 * Classe usada para fazer a verificação de restrições do sistema. Verifica se o usuário têm permissão de executar as operações
 * aqui indicadas.
 * 
 * @author Fernando Marquardt &lt;fernando.marquardt@sc.senai.br&gt;
 * @version $Id: Restrictions.java 28 2012-03-07 20:48:20Z fernando.marquardt $
 */
@Named
public class Restrictions {

    @Inject
    private Identity identity;

    @Secures
    @Admin
    public boolean isAdmin(Identity identity) {
        return identity.hasRole("administracao", "Permissoes", "Usuarios");
    }

    public boolean isAdmin() {
        return isAdmin(identity);
    }

    @Secures
    @Consulta
    public boolean isConsulta(Identity identity) {
        return identity.hasRole("consulta", "Permissoes", "Usuarios");
    }

    public boolean isConsulta() {
        return isConsulta(identity);
    }

    @Secures
    @Cadastro
    public boolean isCadastro(Identity identity) {
        return identity.hasRole("cadastro", "Permissoes", "Usuarios");
    }

    public boolean isCadastro() {
        return isCadastro(identity);
    }
}